package com.efast.dmom.equipment.api;

import java.util.List;

import com.efast.dmom.equipment.bean.CheckingTaskParameterBean;
import com.efast.dmom.equipment.bean.EquipCheckingProgramOrder;
import com.efast.dmom.equipment.bean.EquipCheckingTaskBean;
import com.efast.dmom.equipment.bean.EquipCheckingTaskDetailsBean;
import com.efast.dmom.equipment.bean.EquipIdsParamBean;
import com.efast.dmom.equipment.entity.EquipCheckingTaskProgramItem;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

/**
 * 
 * @author 作者 Aaron Liu:
 * 
 * @version 创建时间：2019年8月13日 下午4:07:45
 * 
 *          类说明
 * 
 */
@Api(value = "设备点检", description = "设备点检API")
public interface EquipCheckingControllerApi {

	@ApiOperation(value = "删除点检规则")
	void deleteCheckingRules(@ApiParam(value = "删除点检规则") EquipIdsParamBean bean);

	@ApiOperation(value = "删除点检工单")
	void deleteCheckingOrders(@ApiParam(value = "删除点检工单") Integer checkId);

	@ApiOperation(value = "新增点检项目工单")
	void addCheckingProgramOrder(@ApiParam(value = "新增点检项目工单") EquipCheckingProgramOrder bean);

	@ApiOperation(value = "删除点检项目工单")
	void deleteCheckingProgramOrder(@ApiParam(value = "点检项目工单id") EquipCheckingProgramOrder bean);

	@ApiOperation(value = "获取当前用户当天点检任务")
	EquipCheckingTaskBean getCheckingTasks(EquipCheckingTaskBean queryBean);

	@ApiOperation(value = "获取点检任务详情")
	List<EquipCheckingTaskDetailsBean> getCheckingTaskDetails(
			@ApiParam(value = "点检任务id") CheckingTaskParameterBean bean);

	@ApiOperation(value = "开始点检任务")
	void startCheckingTask(@ApiParam(value = "点检任务id") CheckingTaskParameterBean bean);

	@ApiOperation(value = "保存点检任务")
	void saveCheckingTask(@ApiParam(value = "点检任务详情") EquipCheckingTaskDetailsBean taskDetailsBean);

	@ApiOperation(value = "点检任务完成")
	void finishCheckingTask(@ApiParam(value = "点检任务详情") EquipCheckingTaskDetailsBean taskDetailsBean);
	
	@ApiOperation(value = "点检项目项目详情")
	List<EquipCheckingTaskProgramItem> getCheckingProgramDetails(@ApiParam(value = "点检项目项目详情") EquipCheckingTaskDetailsBean taskDetailsBean);
	
}
